package com.ruoyi.system.api.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.springframework.web.multipart.MultipartFile;

/**
 * 附件对象 file
 * 
 * @author ruoyi
 * @date 2023-02-22
 */
@ApiModel("附件")
public class File extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 附件ID */
    private Long fileId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 模块代码 */
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    @Excel(name = "模块代码")
    private Integer typeId;

    private String typeIds;

    /** 组ID */
    @Excel(name = "组ID")
    private Long groupId;

    private Long[] groupIds;

    /** 文件名称 */
    @Excel(name = "文件名称")
    private String fileName;

    /** 文件路径 */
    @Excel(name = "文件路径")
    private String filePath;

    /** 文件显示大小 */
    @Excel(name = "文件显示大小")
    private String fileSizeDisplay;

    /** 文件大小 */
    @Excel(name = "文件大小")
    private Long fileSize;

    private MultipartFile file;

    private Long fileOrgId;

    private String downloadUrl;

    private Integer authId;

    private String procInsId;

    /** 文件上传时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "文件上传时间", width = 30, dateFormat = "yyyy-MM-dd", prompt = "yyyy-MM-dd")
    private Date uploadTime;

    /**
     * 报告id
     */
    private Long reportId;

    private Integer isSuccess;


    public void setFileId(Long fileId) 
    {
        this.fileId = fileId;
    }

    public Long getFileId() 
    {
        return fileId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setGroupId(Long groupId)
    {
        this.groupId = groupId;
    }

    public Long getGroupId()
    {
        return groupId;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public void setFilePath(String filePath)
    {
        this.filePath = filePath;
    }

    public String getFilePath() 
    {
        return filePath;
    }
    public void setFileSizeDisplay(String fileSizeDisplay) 
    {
        this.fileSizeDisplay = fileSizeDisplay;
    }

    public String getFileSizeDisplay() 
    {
        return fileSizeDisplay;
    }
    public void setFileSize(Long fileSize)
    {
        this.fileSize = fileSize;
    }

    public Long getFileSize()
    {
        return fileSize;
    }
    public void setUploadTime(Date uploadTime)
    {
        this.uploadTime = uploadTime;
    }

    public Date getUploadTime()
    {
        return uploadTime;
    }

    public Integer getTypeId() {
        return typeId;
    }

    public void setTypeId(Integer typeId) {
        this.typeId = typeId;
    }

    public String getTypeIds() {
        return typeIds;
    }

    public void setTypeIds(String typeIds) {
        this.typeIds = typeIds;
    }

    public MultipartFile getFile() {
        return file;
    }

    public void setFile(MultipartFile file) {
        this.file = file;
    }

    public Long[] getGroupIds() {
        return groupIds;
    }

    public void setGroupIds(Long[] groupIds) {
        this.groupIds = groupIds;
    }

    public Long getReportId() {
        return reportId;
    }

    public void setReportId(Long reportId) {
        this.reportId = reportId;
    }

    public Integer getIsSuccess() {
        return isSuccess;
    }

    public void setIsSuccess(Integer isSuccess) {
        this.isSuccess = isSuccess;
    }

    public Long getFileOrgId() {
        return fileOrgId;
    }

    public void setFileOrgId(Long fileOrgId) {
        this.fileOrgId = fileOrgId;
    }

    public String getDownloadUrl() {
        return downloadUrl;
    }

    public void setDownloadUrl(String downloadUrl) {
        this.downloadUrl = downloadUrl;
    }

    public Integer getAuthId() {
        return authId;
    }

    public void setAuthId(Integer authId) {
        this.authId = authId;
    }

    public String getProcInsId() {
        return procInsId;
    }

    public void setProcInsId(String procInsId) {
        this.procInsId = procInsId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("fileId", getFileId())
            .toString();
    }
}
